Static Polymorphism in Java